#ifndef TASK_H
#define TASK_H

#include <vector>
#include <string>
#include <ctime>
#include <iomanip>
#include <iostream>

struct task {
    std::string name;
    std::string start_time;
    std::string notice_time;
    std::string id;
    std::string level;
    std::string element;
    task(std::string a, std::string b, std::string c, 
         std::string d = "1", std::string e = "en");
    ~task() {}
};

void sort(std::vector<task>& tasks);
void showtasks(std::vector<task>& tasks, std::string model = "day");
void addtask(std::vector<task>& tasks, std::string a, std::string b, 
             std::string c, std::string d = "1", std::string e = "en");
void deltask(std::vector<task>& tasks, std::string id);
bool isValidTimeFormat(const std::string& time);
bool isValidDateTime(const std::string& timeStr);
#endif // TASK_H
